home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Tools & Utilities
/
Collection of Tools and Utilities.iso
/
dbase
/
ags210.zip
/
AGSDOC.TXT
< prev
next >
Wrap
Text File
|
1988-05-07
|
148KB
|
3,784 lines
Applications Generator System
Main Documentation
With Appendixes
"Using application software saves money.
Designing application software wastes it".
-No one in particular
by: RL Coppedge, CDP CIS #: 72117,165
446 Richmond Pk E 402A Genie: R.COPPEDGE1
Richmond Hts, Ohio Cleve Free-Net: AE069
44143
Copyright 1988, RL Coppedge CDP
May 7, 1988
V2.10
1
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
Section # Topic Page #
Section 1.0 Introduction.
1
1.1 What is an Applications Generator System?
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 How to Use this Document.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 Who Should Use it.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.4 What should you know beforehand.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.5 What to do if you have Questions.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.6 What is a Database?
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Section 2.0 Starting the System.
3
2.1 Standard Configuration.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Turning the Machine on.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.3 Starting your Application.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.3.1 Your Application Name
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.3.2 Get Going!
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Section 3.0 Main Menu.
5
3.1 Inquiry/Entry.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.2 Reports.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.3 File Transfer.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.4 WP Conversion.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.5 Search.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.6 Housekeeping.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.7 Help.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.8 Selection Criteria Maintenance.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.9 Verification Edit
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
i
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
Section # Topic Page #
3.10 Registration Info
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Section 4.0 Inquiry/Entry.
8
4.1 Choosing a Logical Order.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4.2 Entering the Key Field.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.3 Edit the Record.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.3.1 Special Keys and their Uses
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.3.2 Data Types
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.4 Update/Release Information.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.5 How to Enter Information.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.6 How to Add a Lot of New Information.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.7 How to Change Information.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.8 How to Delete Information.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.9 How to Print Information.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.10 A Sample Entry Session.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Section 5.0 Reports.
18
Section 6.0 File Transfer.
19
Section 7.0 WP Conversion.
20
7.1 What is this for?
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
7.2 Output Format
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
7.3 How to Choose Fields.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
7.4 Choosing a Selection Criteria.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
7.5 Choosing a Logical Order.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
ii
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
Section # Topic Page #
7.6 What to do on the WP end.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Section 8.0 Search.
25
8.1 What does Search do?
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
8.2 What does Search not do?
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
8.3 Entering Additional Field.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
8.4 Choosing a Selection Criteria.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
8.5 Totals Only?
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
8.6 Printed Out?
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
8.7 Choosing a Logical Order.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
8.8 New Page?
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Section 9.0 Housekeeping.
27
9.1 Data Backups.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
9.2 Reindex Data.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
9.3 Data Verification.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
9.4 Control.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
9.4.1 Confirm
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
9.4.2 Delete
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
9.4.3 Bell
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
9.4.4 Exact
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
9.5 Delete Blank Records.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
9.6 Packing Your Database.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Section 10.0 Help.
33
10.1 Database Help.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
iii
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
Section # Topic Page #
10.2 Command Line Help.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Section 11.0 Selection Criteria Maintenance.
35
11.1 What is a Selection Criteria?
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
11.2 Simple Selection Criterias.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
11.3 Complex Selection Criterias.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
11.4 Maintaining a Selection Criteria Library.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
11.5 Choosing a Selection Criteria
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
11.51 Enter a Manual Selection Criteria. . . . 41
11.52 Access the Selection Criteria Library. . 42
11.53 Use the Selection Criteria Guide . . . . 43
11.6 Selection Criteria Syntax.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Section 12.0 Verification Edit. 45
12.1 Verifying Numerics. . . . . . . . . . . . . . 45
12.2 Verifying Dates. . . . . . . . . . . . . . . 45
12.3 Verifying Characters. . . . . . . . . . . . . 45
Section 13.0 Registration Info. 47
Section 14.0 Additional Notes and Capabilities.
49
14.1 Security
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
14.2 Training
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Section 15.0 Suggested Ways of Learning More. 50
Section 16.0 Thanks and Acknowledgements 51
1
i
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
Figure Page:
Figure 3-1 The Main Menu
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Figure 4-1 A Sample Database Structure
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Figure 4-2 A sample Logical Order Menu
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Figure 4-3 Entering The Key Field.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Figure 4-4 A Sample Data Entry Screen.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
Figure 4-5 List of Keys and their Functions.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Figure 4-6 Data Types
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Figure 4-7 Update/Release Command Line
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Figure 4-8 Update/Release Decision Table
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Figure 4-9 A Sample Record Awaiting Entry
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Figure 4-10 A Sample Data Entry Session
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
Figure 7-1 WP Options . . . . . . . . . . . . . . . 6
Figure 7-2 Output File Name
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Figure 7-3 A Sample Letter
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Figure 7-4 A WP Conversion Selection Screen
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Figure 8-1 Search Options
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Figure 9-1 Sample Housekeeping Menu
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Figure 9-2 Backup Menu
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Figure 9-3 Backup Message
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Figure 9-4 Control Menu
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Figure 10-1 Help Menu
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Figure 10-2 Sample Database Help Screen
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
Figure 10-3 Sample Command Line Help Screen
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Figure 11-1 A List of Selection Criteria Operatives
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Figure 11-2 Some Simple Selection Criterias
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
ii
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
Figure 11-3 A List of Linking Conditionals
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Figure 11-4 Selection Criteria Maintenance Menu
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Figure 11-6 Selection Criteria Entry Screen
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Figure 11-7 Sample Selection Criteria Library
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Figure 11-8 Boolean Conditions . . . . . . . . . . . 14
Figure 12-1 Verification Edit Menu . . . . . . . . . 15
Note: Only Appendix C is included in the Non-Registered Version.
Appendix D is included in the Registered version, and A and B is
included with the actual Code.
iii
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
Section 1.0 Introduction.
1.1 What is an Applications Generator System?
Well Billy, an Applications Generator System, or AGS is used
to allow development of computer software in a much faster and
more efficient manner than before. By merely entering into the
system certain qualities and capabilities you need along with a
specific database format, the system automatically generates
over 90% of the computer code necessary to begin entry, modifica-
tion and retrieval of information...that's like taking an eighty
hour programming job and finishing it before you leave for
lunch...
Throughout this document you'll not see a specific database,
field or application mentioned (except for examples). That's
because the manner in which one application works is the same way
all of the others do as well. Which means that this document can
serve as documentation for everyone, with minor additions and
modifications.
1.2 How to Use this Document.
This document is intended to introduce people to the way
that information is entered, modified and used with the Applica-
tions Generator System (AGS). This is not intended to be an
introduction to computers, nor is it intended to show people
everything there is to know about Dbase III+. Far from it.
There are far better documents, training tools and the like for
that task. This document is to be used simply to understand how
to use the AGS.
This document is also not intended to be used to create an
application through the AGS. This document assumes that all of
this has already been done by someone familiar with the system.
If there has been no creation done yet, than this document is
really useless. However, it is recommended reading prior to
running the Create mode so that the Creator will understand
better how to define the database (as well as the Create.Dbf
file, which is better defined in the Create Documentation,
Appendix G).
1.3 Who Should Use it.
This document should be used by anyone who is interested in
entering, modifying, reporting or just plain looking at informa-
tion that is contained in your particular application. It can
also be used for someone who on a more limited basis may want to
look at the information once in awhile.
1.4 What should you know beforehand.
1
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
The person who is going to try to use this system really
should be familiar with some of the jargon associated with
computers, but certainly does not need to be anything near an
expert. However, without a doubt it helps to be comfortable with
the machine at hand.
Take advantage of some of the tutorials, books and other
learning tools that are available. Learn how to use the machine,
and what most of the keys mean.
Also in some places we have given you descriptions on what
to enter for certain conditions. When we speak of <Enter>, we
mean to push the <Enter> key itself, not type in the word
"Enter".
1.5 What to do if you have Questions.
Everyone is going to have a question, or is going to be
stuck at one point or another. However, don't let it bother you.
We have done everything we can to ensure that the informa-
tion is protected against accidental damage. Also, since you are
doing backups on a routine basis, even if there is some catastro-
phic damage, the time to bring you up to date should be minimal.
So go ahead and call for support...or try to solve it
yourself. Again, you really can't mess things up too badly...as
long as you're doing backups!! (See Section 9.1, Backups). As
the author of the AGS, I will make myself available to some
degree, but don't expect too much. (Especially if you're not a
registered user)
1.6 What is a Database?
Knowing the technical information about a database is really
unimportant here. What you need to know in order to use it is
simply that a:
Database: is a collection of specific information that can
be used or retrieved in an organized fashion and method.
Record: is an individual member (or transaction) of that
database that refers to one specific instance or case contained
in the database.
Again, PLEASE! Don't take my definitions. Learn from other
sources much better than this.
2
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
Section 2.0 Starting the System.
2.1 Standard Configuration.
Unless different for a particular application, the following
is a list of requirements for the AGS to work on a system.
An IBM XT, AT, 286, 386, PS/2 or 100% compatible
640 KB RAM
1 360 or 1.2Mb floppy disk drive
1 10 MB hard drive
1 Printer
Monitor + keyboard (rather obvious)
Dbase III+ (From Ashton-Tate) or lookalike
Note that FoxBase+ is contained in the file FOXAGS.ARC
DBXL does not have a version as of yet.
And the following directories (which are set up by the Create
function):
C: (is the Drive):
C:\DBDATA\MAIN where the Dbase III+ utilities are
C:\DBDATA\HELP where the HELP DBF files are stored
C:\DBDATA\CREATE where the Create Programs are stored
C:\DBDATA\(Appname) is where the application programs and data
are stored.
Note that there can be several applications on this disk...each
one would be stored in a different C:\DBDATA\(Appname)
Although the monitor type (monochrome, CGA, EGA) really
won't make a difference, make sure your file CONFIG.DB is
properly set up (see you Dbase III+ documentation for details on
that). On some monitors the Help screen may work a tad flaky
(not going away when you hit any key). We're working on that.
As far as printers go, there are no special print characters
used in this system (to ensure smooth transportation from one
machine to another). Maybe in a later release.
2.2 Turning the Machine on.
Of course, like any great adventure, this one begins with a
single step. Turn the machine on. Usually you can do this
without worrying about where a floppy disk is, just flick the
switch. Make sure that the monitor (TV screen) is turned on,
and that the printer (if you plan to use it) is both on and
on-line.
3
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
2.3 Starting your Application.
Ok, so you've gotten this far...you've turned on the
machine, and you've read the menu on the screen. Now you're
ready to begin your database application.
2.3.1 Your Application Name
Each Dbase application has a name associated with it. This
name serves several functions. In our sample menu previously
discussed, the Application Name was "test". It:
Is the name of the subdirectory on Dbase (ie, path =
C:\DBASE\TEST)
Is the name of the Database File (ie, TEST.DBF).
Is used for creating several program files for various
purposes throughout the system (ie, ETEST.PRG, W1TEST.PRG, etc.)
You should know your application name, and always keep it in
mind!
2.3.2 Get Going!
Enough! To start your system, you would move to the Dbase
directory and start Dbase with the command stated in such a way
so it would also immediately execute your application's menu.
For example, in our sample, we were using "Test" as our applica-
tion name. So, we type in the following:
DBASE Test<Enter>
Upper case, lower case, it doesn't matter. The system
should then bring up the Dbase III+ main screen, and then clear
again and display the Applications Main Menu. You are now in!
(yea!)
4
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
Section 3.0 Main Menu.
The main menu is a list of tasks that you can perform. All
tasks are related to the same database (or to hidden databases
that support it). All programs supported by the AGS can be
accessed through the main menu. The only exceptions to this rule
would be a special need created by a particular application.
Only by entering the system through the main menu are you assured
of initializing all variables to their proper values. If you
were to try to access the programs from outside of the menu, even
if the screens seem to work, they probably are doing something
unwanted in the background. So please, access the system through
the main menu only, and be careful when you don't.
Prior to the Main Menu appearing, the system will perform a
number of test on the system. Should any of the Create files
(see Appendix C) be missing, the system will inform you. Also
the system will verify that there is at least one indexed field,
and that the index files exist.
When the Main Menu appears, you will be given a list of
tasks. There may be some tasks which appear on your screen that
are not in the documentation here. This is due to the fact that
there are certain capabilities on these systems that are in
addition to the main functions, which are listed below. More
information on these tasks can be found in Appendix D, Specific
Database Information. On most systems, the main menu looks
something like this:
|-----------------------------------------------------------|
|Test Database System |
|Choose from the following: |
| |
| |
|1> Inquiry/Entry 7> Help |
| |
|2> Reports 8> Selection Criteria Maint|
| |
|3> File Transfer 9> Verification Edit |
| |
|4> WP Conversion 0> Registration Info |
| |
|5> Search |
| |
|6> Housekeeping |
| |
|For help on any one of these, press <Shift>-# |
|Which one do you want (Q to quit) |
| |
|___________________________________________________________|
Figure 3-1 The Main Menu
[Valid Responses:1,2,3,4,5,6,7,8,9,0,Q,q,!,@,#,$,%,^,&,*,(,)]
5
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
Note that in place of Test Database will be the title (which
is more descriptive and longer than the application name) of the
database/application.
3.1 Inquiry/Entry.
Inquiry/Entry is the function that allows you to inquire
(look at), add, change, delete and print information contained in
the database. Access to the information is on a record-by-record
basis, and can be accessed according to several parameters(see
Section 4.1 Choosing a Logical Order).
See Section 4.0, Inquiry/Entry.
3.2 Reports.
Reports will list and give access to the various reports
that have been developed specifically for your particular
database. Note that originally this menu is a dummy menu
program.
See Section 5.0, Reports.
3.3 File Transfer.
This task will allow and control communications with other
computers (for those systems with these capabilities). Note that
originally this menu is a dummy menu program.
See Section 6.0, File Transfer.
3.4 WP Conversion.
This task will set up a file for you to use your database
information to produce special form letters, labels, etc. using
your Word Processing Mail Merge (also known as "List Processing")
capabilities. It works currently with:
WordStar 2000
WordPerfect
WPS PC+
DisplayWrite
Dbase III+
See Section 7.0, WP Conversion.
3.5 Search.
This tasks allows the user to inquire information under
specific conditions existing in the database.
See Section 8.0, Search.
3.6 Housekeeping.
This menu controls several support functions (backup, etc.)
6
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
available to the user.
See Section 9.0, Housekeeping.
3.7 Help.
This task gives the user on-line help concerning the
database and its fields.
See Section 10.0, Help.
3.8 Selection Criteria Maintenance.
This task allows the user to set up and maintain selection
criterias which would be commonly used.
See Section 11.0, Selection Criteria Maintenance.
3.9 Verification Edit.
Certain fields have limitations set on them by their
creator. Verification Edit allows you to change or add to the
limitations.
3.10 Registration Info.
This gives you information on how to register this version
of AGS, if necessary. (See Seciton 13.0)
7
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
Section 4.0 Inquiry/Entry.
Inquiry/Entry (or, just "Inquiry") is probably the most
important task in the system to understand. Through this
function data is added, changed, deleted or just looked at.
Let's create a sample database that we can work with. This
database will be given the task to analyze the various types of
property we have in a particular area. With that in mind, we
might come up with the following structure(this is a slightly
modified "DISP STRUC" Dbase command):
____________________________________________________________
| |
|Structure for database: C:test.dbf |
|Number of data records: 4 |
|Date of last update : 07/01/87 |
|Field Field Name Type Width Desc |
| 1 E_DATE Date 8 Date of Entry |
| 2 ST_NUM Character 8 Street Number |
| 3 ST_NAME Character 20 Street Name |
| 4 PARCEL Character 10 Perm. Parcel # |
| 5 CEN_TRACT Character 5 Census Tract |
| 6 CEN_BLOCK Character 3 Census Block |
| 7 SCHOOL_D Character 4 School District |
| 8 UNITS Numeric 3 # of Units |
| 9 PROP_TYPE Character 2 Property Type |
| 10 OWN_NAME Character 20 Owners Name |
| 11 O_ADDR1 Character 30 Owners Add #1 |
| 12 O_ADDR2 Character 30 Owners Add #2 |
| |
|** Total ** 143 Bytes per Record |
|___________________________________________________________|
Figure 4-1 A Sample Database Structure
When we want to look at, add or change this database, we
would perform the following steps:
a> Choosing a Logical Order.
b> Enter the Key Field.
c> Edit the Record.
d> Update/Release Record.
4.1 Choosing a Logical Order.
This is the first option that shows up after the main menu.
In order to access the information, you must tell the computer
which way you want to access it. This is called the logical
order. A logical order is based on a single variable, as long
as it is contained as a variable in the database themselves.
In Dbase III+ terms, choosing a logical order is really just a
matter of choosing which index file will be active.
8
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
Once the logical order has been determined, then you must
indicate what specific value for that logical order you want to
see.
Now, what kind of sorting would we want? The real question
to ask is, "What are the various ways I would want to recall
information to the screen?" In this case, the answer could be:
1> By Street Name. (I want to look at an area)
2> By Property Type. (I want to look only at commercial
properties)
3> Add new ones. (I don't want to see any, I just want to add
more)
4> Browse. (I want to look at special conditions)
(See your Dbase III+ documentation for more details)
For something with these options, the Logical Order screen
would look like this:
___________________________________________________________
| |
| Enter one of the following methods to access the |
| Test Database: |
| |
| 1> By Street |
| 2> By Property Type |
| 3> Add New Records |
| 4> Browse |
| |
| Enter your choice here (or "H" for help, "Q" to quit) |
| Well, what'll it be? |
| |
|___________________________________________________________|
Figure 4-2 A sample Logical Order Menu
(Valid Responses:1,2,3,4,H,h,Q,q)
4.2 Entering the Key Field.
Let's assume that you wish to identify the record that you
want to change by using the Street Name. That is the key field
you wish to enter (you would choose this option by entering a "2"
at the above screen). Since you have identified the logical
order as the Street Name, the system is now going to state:
In Dbase III+ terms, you are entering the variable with which you
wish to "Seek".
9
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
____________________________________________________________
| |
| Enter Street Name you wish to modify: |
|___________________________________________________________|
Figure 4-3 Entering The Key Field.
If, for example, you wanted to find a property that is on
"ANYSTREET", you would type in:
ANYSTREET<enter>
4.3 Edit the Record.
The system will then look through its database to find any
occurrence of a Street Name of "ANYSTREET". If it cannot find
one, it will flash the message "NOT FOUND-- ADDING NEW RECORD".
But in either case, the database screen will appear. If it is a
new record, the values of the data will be at their initial
values. But if there was an "ANYSTREET", the information will
appear on the screen. A sample screen appears below:
_____________________________________________________________
| |
| Del_flg:NOT |
| NOT FOUND-- ADDING NEW RECORD |
| Entry Date: / / |
| |
| Street Number: Street Name: ANYSTREET |
| Permanent Parcel #: |
| Census Tract:Census Block: |
| School District:# units for property: 1 |
| Property Type: |
| Owners Name: |
| Owners Address #1: |
| Owners Address #2: |
|___________________________________________________________|
Figure 4-4 A Sample Data Entry Screen.
In the example above, this is a new record being added
(notice the "NOT FOUND..." message). As you can see, there is
some information already included on the screen, even though
there has been no entry. For example, the computer has already
filled in the Street Name field with "ANYSTREET" (since that was
what you had requested). Also, the Entry Date was assumed to be
today's date (in this case 24 Jul 87) and the number of units
was a default of "1".
The cursor is placed at the top left of the screen at the
beginning of the block reserved for "Entry Date". The system has
placed the blank date in that field. If you want to change it,
simply type in a new date (It must be a valid date. Also, don't
put the '/'s in. The computer handles that).
10
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
4.3.1 Special Keys and their Uses
When you are finished with the date, either the <Down Arrow>
key or the <Enter> key will move you to the next field. Figure
4-5 shows the various keys used during data entry. These are
standard keys for use is Dbase III+ entry. See the Dbase III+
documentation for more information.
_____________________________________________________________
| Key Function |
| |
| <Enter> Denotes end of a field, moves to |
| next one |
| <Left Arrow> Moves one character to the left |
| within field |
| <Right Arrow> Moves one character to the right |
| within field |
| <Up Arrow> Moves to previous field |
| <Down Arrow> Moves to next field or ends entry (for |
| last field) |
| <Enter> Moves to next field or ends entry (for |
| last field) |
| <Backspace> Erases character immediately to the |
| left of cursor |
| <Delete> Erases character cursor is resting on |
| <Insert> Toggles Insert On/Off |
| <Home> Moves cursor to first field on screen |
| <End> |
| <Page Up> Ends input |
| <Page Down> Ends Input |
|___________________________________________________________|
Figure 4-5 List of Keys and their Functions.
4.3.2 Data Types
Keep in mind at all times the limits to the various types of
data. Each type of data has their own limitations. Referring
back to Figure 4-1 shows the four types of data used by the AGS.
They are Character, Numeric, Logical and Date. Some of their
characteristics are outlined in Figure 4-6. At this point in
time, AGS does not support Memo fields. Perhaps in a future
release.
Character fields are most common, and are used to contain
"alphanumeric" (containing both alphabetical and numeric charac-
ters) information. However, they cannot be used as numbers, nor
as dates, and therefor have extremely limited computational
value.
A numeric field, as its name implies, contains numeric
11
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
information that is to be used computationally. For example, the
field units in our test (back in Figure 4-1) would have possibly
a 2 contained within (representing that the property has two
units within it). The zip code (not used here) may be "44118",
but it is not a number. It's important to keep the distinction
in mind.
A date field contains a valid date, using the format
"MM/DD/YY". Yes, it keeps track of leap years.
Finally a Logical Field is a simple Yes/No field. In our
test, we have a field called Del_flg. It is either Yes or No,
and cannot have any other value (Yes/No is also called
True/False, 1/0, On/Off, but the idea is the same).
_____________________________________________________________
| |
|Type Valid Invalid Comments |
| |
|Character "Waldo!" True Character is the |
| "413" 413 most common type. |
| "January 5" 01/05/87 |
| |
|Numeric 413 "413" Numeric follows |
| 41.3 41 3/10 standard math |
| -5.234 rules. |
| |
|Date 12/23/87 "12/23/87" Must be in |
| 12/33/87 valid mm/dd/yy |
| Jan.6 format |
| |
|Logical .T. T These are the |
| .F. F only valid |
| .Y. Yes values for |
| .N. nope Logicals |
| |
|___________________________________________________________|
Figure 4-6 Data Types
Each data type fills a vital role and is critical in some
way or another. When entering data, the system will automat-
ically check whether your input is valid to the field you are
currently on; if it is not, an buzzer will sound, and the cursor
will not show your attempt on the screen, nor will it let you
move on until the data is good for that field.
4.4 Update/Release Information.
When you are finished entering the information, the system
will flash on the second last line of the screen a particular
command line (see Fig 4-7). This command line lists the six
things that you can do with the record you have just edited.
12
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
_________________________________________________________________
| |
|<shift>#-Hlp 1-Sve/Ex 2-Save/Nxt 3-Print 4-Del 5-Qt/Ex 6-Qt/Nxt|
| |
|_______________________________________________________________|
Figure 4-7 Update/Release Command Line
Of the six options you have listed, #'s 1,2,5,6 are rather
interrelated in how you dispose of the information you have just
entered. # 3 and 4 are independent.
#3 Print. This option will print out the record onto your
printer (with no particular print controls or anything). It will
then return you to Figure 4-7's command line.
#4 Delete/Undelete. This option will mark the record for
future deletion. It will not actually remove the record from
the file. To do that, see Section 9.6, Packing Your Database.
This leaves #'s 1,2,5,6. There are two questions that are
asked after you have entered your record. They are:
1> Do I want to save what I just did?
2> What do I want to do next?
Each question has two possible responses. The first one is
a simple Yes/No Question. It deals with the possibility that you
do not want to save what you just did (you were just looking, or
you changed your mind). If you want to save it, the computer
will update the file contained on the disk. If you do not, the
system will simply ignore the information as if it never hap-
pened.
As to the second question. There are also only two answers,
but they are not Yes and No. They are:
2a> Return to Main Menu.
2b> Go to the next record.
The first one is simple enough. It simply refers to the
idea of returning to the Main Menu (shown in Figure 3-1),
basically saying you're done with Inquiry/Entry.
The second one will simply look for the next record after
this one. The next record is defined by the choice you made
concerning the Logical Order (see Section 4.1, Choosing a Logical
Order). If we continue with the idea that we chose Logical Order
# 2 (by Street, according to Figure 4-2) and our key field we
entered was "ANYSTREET", the system will look for the next
occurrence of "ANYSTREET". If the system cannot find one, it
will act as if it was adding a new record.
13
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
So, those are the two questions. And since there are two
possible answers each, there are a total of four possible
combinations of the two (see where we're going?) Figure 4-8 shows
a decision table of the four questions. By cross-referencing the
two answers, you will find a number. That is the number that you
would enter in response to the Update/Release Command Line.
____________________________________________________________
| | |
| Return to Menu? Y | N |
| -------------------------+-------+--------| |
| Update Disk? Y | 1 | 2 | |
| |-------|--------| |
| N | 5 | 6 | |
| |----------------| |
| |
|___________________________________________________________|
Figure 4-8 Update/Release Decision Table
4.5 How to Enter Information.
There are a few tips to entering information. They are:
Stay consistent with your cases on entering Character
information (small letters vs. CAPITAL letters). Although the
system can be set up to ignore the differences, you should strive
to maintain consistency.
Watch out against adding blank records to the system. (But
if you do, there's a way to get rid of the in Housekeeping)
As a rule, only use option #'s 1 + 2 when you really are
updating information.
Careful with deleting records...
Be true to your school.
If you are ever getting information in the wrong places,
your first step should be to reindex your files (see Section 9.2,
Reindexing Data).
And never let them see you sweat.
4.6 How to Add a Lot of New Information.
Adding new information is rather simple. Choose Logical
Order #5, Add New Records (See Section 4.1, "Choosing a Logical
Order" and Figure 4-2). The system will not ask you for a key
field, and will simply initialize a new record. However, you
have to watch out because the system will not tell you if a
14
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
duplicate record exists.
4.7 How to Change Information.
If you want to change information about a particular record,
simply call up the record, (using Logical Order 1,2 or 3. It's
up to you) and then change it all you want, using the keys as
described in Figure 4-5. By entering information over or in
addition to what was there previously, you are replacing that
data on the screen only. Once you are finished changing the
information and you hit get the Update/Release Command Line (see
Figure 4-7), you should then review the changes you have made.
If you want to retain the changes, choose either option # 1 or 2
from the Update/Release Command Line (See Section 4.4 Update/Re-
lease Information, and Figure 4-8). If you choose either #1 or
2, the information is then written permanently (until you change
it again) to the disk drive of the computer. Choosing option #5
or 6 will cause the changes you have made to be erased, and the
record will revert to its original form (which contained what was
there when it first came up on the screen).
4.8 How to Delete Information.
Real simple. Call up the record, then the Update/Release
Command Line and select option #4 (Delete). If you would call
the record up again, you would see that in the upper right-hand
corner, the display would say Del_flg: DELETED. This means that
the record is marked for deletion. IF you have a change of heart
and decide not to delete it, simply select option #4 (delete)
again. But once you perform the Pack function (see Section 9.6,
Packing Your Database) , that record is gone forever.
4.9 How to Print Information.
Also easy. Call up the Record, and select Option #3
(Print). Assuming you have a printer on-line and ready, it
should begin instantly printing out a hardcopy. wow!
4.10 A Sample Entry Session.
Assuming that we have one new record to enter. Let's start
from the beginning, with the system turned off. Before we turn
the machine on, we have to understand what it is we're going to
enter. The information should be organized in such a way that
you can easily tell what should be in each field. Let's assume
you've done that, and the data you're going to enter is in Figure
4-9.
15
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
_____________________________________________________________
| |
|Field Field Name Desc |
| 1 E_DATE Date of Entry Today's Date |
| 2 ST_NUM Street Number 1436 |
| 3 ST_NAME Street Name Anystreet |
| 4 PARCEL Perm. Parcel #53-233-43 |
| 5 CEN_TRACT Census Tract 1406 |
| 6 CEN_BLOCK Census Block 22 |
| 7 SCHOOL_D School District (don't know) |
| 8 UNITS # of Units 1 |
| 9 PROP_TYPE Property Type I |
| 10 OWN_NAME Owners Name Waldo |
| 11 O_ADDR1 Owners Add #1 64 Main St. |
| 12 O_ADDR2 Owners Add #2 Ny,Ny 12345 |
| |
| 1st Value: Computer's Field Name |
| 2nd Value: Description as on Screen |
| 3rd Value: Data to be Entered for Record |
|___________________________________________________________|
Figure 4-9 A Sample Record Awaiting Entry
Now you will notice that for one field, School District, we
don't know the value for that field. Perhaps we'll learn it
later, perhaps not. But we want to enter the record now. Figure
4-10 shows a step-by-step procedure for entering the record.
16
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
_____________________________________________________________
| |
| Step Fig Desc Action |
| # |
| 1 Turn Machine on. Flip switch on. |
| |
| 2 2-1 Start Application. "Dbase AppName" (See|
| Sec. 2.4 |
| |
| 3 3-1 Begin Inquiry/Entry "1" |
| |
| 4 4-2 Choose Logical Order "4" |
| |
| 5 4-4 Begin Entering Data Enter information |
| given in Fig 4-9 |
| according to Sec. |
| 4.3 |
| |
| 6 4-7 Update/Release Line If Data good, |
| choose #1, else |
| choose #5. |
| |
| 7 3-1 Exit from System "Q" |
| |
| 8 Turn Machine off. Flip switch off |
| |
| Notice that there are quotations (") around the var- |
| ious Actions. Do not enter these. |
|___________________________________________________________|
Figure 4-10 A Sample Data Entry Session
17
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
Section 5.0 Reports.
Reports are critical in that they are the main method other
than inquiry we use to process the information to others and it
is the only way in which we can organize the data and produce it
in a form that is more usable. Whereas the inquiry function
outlined in Section 4.0 is useful for looking at individual
records, reports are needed to look at all records, and how they
relate.
Reports are produced and designed with specific the applica-
tion in mind. You should refer to the documentation of your
application for more information.
18
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
Section 6.0 File Transfer.
File Transfer is an activity that takes place when the
system used is going to engage in any communication activity
connected through network, data switch, direct wire or modem to
another computer (or group of computers), or simply importing
from another application. File Transfer controls the preparation
of data to be sent from one point to another. At this point it
is a dummy menu, but open for enhancement.
An example which has been used in the past is to have this
option drive updates to the database received from a minicomputer
system.
19
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
Section 7.0 WP Conversion.
7.1 What is this for?
WP conversion provides (although not for every application)
an important side benefit for your data. It allows you to
prepare List Processing (aka MailMerge) files directly from your
database. This function should be used by people familiar with
the various Word Processing capabilities associated with List
Processing. There are currently five packages supported by AGS,
and more can be introduced in the future.
Let's use our test database as an example. Suppose that a
school in the school district "Wise" was giving an open house on
a particular date. Now, it's easy for Word Processing to
generate a letter telling people about this. We could then make
a lot of copies, and everyone would get a form letter. But
wouldn't it be better to send a personalized letter to everyone
in the school district? Of course it would! WPC allows you to
prepare files that would allow us to send a letter to everyone
that owns property in the Wise school district (as long as
they're contained in the database). The letter would be add-
ressed to the owner personally, and would go out only to those in
the Wise District.
7.2 Output Format.
The first item of information asked for by AGS here is which
WP package you want to convert to. This is done through the menu
you see in Figure 7-1.
The following translation types are available:
1> Dbase ---> Word Perfect
2> Dbase ---> Word Star 2000
3> Dbase ---> WPS PC+
4> Dbase ---> Display Write IV
5> Dbase ---> Dbase (setup a new database)
Which type do you want to do (H help, Q to quit)?
Figure 7-1 WP Options
By choosing #1-5, you will determine the format of your
output file. In some cases, other WP packages would also work
here without modification.
7.3 Output File Name.
The first thing that we are asked in WP Conversion is the
name of our output file. This is where all of the prepared
information is going to go. It is a temporary file (you should
delete it soon after producing the letters) and for the most part
20
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
should be relatively small. The name cannot be more than seven
letters long. (See Figure 7-2) It will be produced in the
\DBDATA\'Application Name' subdirectory. The extension of the
file will be:
Package Name: Extension:
WordStar .WS
WordPerfect .WP
WPC PC+ .WPS
DisplayWrite .DSP
Dbase .DBF
(Notice that the dbase option will actually create a new
database. This is for situations where you want to 'play' with
data without upsetting your main system)
_____________________________________________________________
| |
|What is the Output File name(H help, Q to quit)? |
|___________________________________________________________|
Figure 7-2 Output File Name
Also keep in mind that some WP programs (WordStar 2000
MailList especially) is particular about the database structure
(See the WordStar 2000 MailList Reference manual Page 40).
Make sure that you write down the file name you use so that
you don't forget it later.
7.3 How to Choose Fields.
There are a total of 13 fields in the test database we've
been using. Out of them, however, we really only need 5 of them
to send this letter to the property owners. Prior to running
this function, we should have the letter written out. We've done
so, and the results are seen in Figure 7-3. Keep in mind that we
do not need to actually enter the letter into the Word Processor
prior to our running the WP Conversion function, but it doesn't
hurt to do so.
_____________________________________________________________
| |
| <Own_name> |
| <O_addr1> |
| <O_addr2> |
| |
| Dear <Own_name>; |
| |
| As owners of the property at <St_num> <St_name>, |
| we thought that you might want to take a look at |
| our wondrous Wise school system here. It's really |
| a thrill to think that people like you would ever |
21
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
| think to give their children's minds up to us! |
| |
| We're having an open house on Thursday, August |
| 10, at 7:00. Hope you can attend! |
| |
| Sincerely, |
| |
| Waldo Muckenfloss |
| School Muckraker |
|___________________________________________________________|
Figure 7-3 A Sample Letter
(Hey, I write programs, not open house letters!) You will
notice that I have bolded where we will need data from the
computer put in for each individual letter. So, the fields we
need are:
Own_name
O_addr1
O_addr2
St_num
St_name
At first glance you might also think that we need the school
district itself (School_D). But we don't that in the letter, we
need it to select which records we are going to produce. That
comes later, in section 7.4, Choosing a Selection Criteria.
Now, since we know which fields we're going to need, we're
ready to proceed to the next screen. Immediately after choosing
a file name, the system will display a screen with all of the
possible fields displayed (See Figure 7-4).
22
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
_____________________________________________________________
| |
| WP List Processing Selection Screen For Test Database |
| |
| 1>Entry Date: 2> Street Number: |
| 3> Street Name: 4> Permanent Parcel #: |
| 5> Census Tract: 6> Census Block: |
| 7> School District: 8> # units for property: |
| 9>Property Type: 10> Owners Name: |
| 11> Owners Address #1: 12> Owners Address #2: |
| 13> Deleted Flag: |
| |
| Which one do you want to change (H for help, Q to quit)|
|___________________________________________________________|
Figure 7-4 A WP Conversion Selection Screen
You'll notice that this looks strangely like the entry
screen (see Figure 4-4), except that there is nowhere to actually
enter information. That's because the only information needed is
whether or not you a particular field to be included in your
output file. Also each field description has a number immed-
iately to its left. To choose a field, simply enter the number.
Once chosen, that field will flash in inverted color. If you've
chosen one mistakenly, simply choose it again, and the field will
revert to its normal color. Keep doing this until you have
chosen all fields you wish to be included in the file (in the
case above, you would enter: 2,3,10,11,12). After you have all
of the fields you want, enter a "Q" to signify that you are done.
7.4 Choosing a Selection Criteria.
The next question asked by the system is concerning your
selection criteria. (See Section 11.0, "Selection Criteria
Maintenance")
7.5 Choosing a Logical Order.
Usually for List Processing type of applications this is
rather unimportant. If there is a particular order you want,
then you should select accordingly; otherwise, any order will do.
One thought here is if you do this enough, you should make the
Zip code of the address a Logical Order, possibly saving some
costs on postage.
At this point the system will begin its search and will
display an appropriate message of "Do Not Touch Me!!", encour-
aging people to leave it alone while it's working. For larger
files, the system will generally take approximately 1.5 seconds
for each selected record (dependant on so many things that I
wouldn't even come close to guaranteeing that rate).
23
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
7.6 What to do on the WP end.
Once that is completed, you should copy your file (using an
appropriate DOS command) to your Word Processing Sub-Directory.
Once that is completed, you should refer to your Word Processing
documentation on how to proceed. Some packages will require you
to build file layouts corresponding to the layout you requested.
The fields are sent to the file in numeric order, as opposed to
the order in which they were chosen.
24
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
Section 8.0 Search.
8.1 What does Search do?
Search gives a non-technical person with little or no
computer experience the ability to ask simple "how many" ques-
tions, like "how many people have moved into the Wise school
system since January?" without having to struggle with either the
computer or more knowledgeable computer people. In Dbase terms,
it does little more than a combination of "List fields for
<condition>" and Total, Count and Average for same.
8.2 What does Search not do?
Search is not a report writer. It is not meant to take the
place of standardized reports. It is meant as a simple free-form
function that can make those unplanned research questions a
little easier and faster to answer. The output of Search is not
intended to presentation-ready, not should they be distributed
without proper explanations (any data can be misleading if not
presented properly). The output that Search provides is limited
to two or three particular fields (defined by the specific
database), and one user defined field. If this field is numeric,
than the totals and average values are automatically given at
each break (a break is where the value in the logical order chan-
ges).
Figure 8-1 shows a list of all options given in Search. As
you can see there are several items that go into a search. Most
of them have to do with paging or the output format.
_____________________________________________________________
| |
|1> Enter the Field name you wish to see (H/Help, Q/Quit)? |
|2> Enter the selection criteria you're looking for |
| (H/Help, Q/Quit, =,>, etc.) |
|3> Do you want only totals? (Y/N H/Help Q/Quit) |
|4> Do you want this to be printed out |
| (Y/N, H/Help, Q/Quit)? |
|5> Choose a Logical Order (See Figure 4-2) |
|6> Do you want new page on each group (H/Help Q/Quit)? |
| (#6 only if print is chosen and the Logical Order is |
| a sortable one) |
|___________________________________________________________|
Figure 8-1 Search Options
8.3 Entering Additional Field.
This is the first question from Figure 8-1. Here you would
enter the name of a field that is in your database (see Figure
4-1) structure. Usually this is the value or information that is
25
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
most pertinent to your immediate question. If, for example, you
were asking the question: "What types of properties are being
sold in the Wise school district?", you would want to see
Prop_type be the output. (School_d wouldn't be a good choice.
That would work well for the selection criteria [see Section
11.0, Selection Criteria Maintenance].)
8.4 Choosing a Selection Criteria.
Question #2 from Figure 8-1. Through the use of a selection
criteria, you can specify the type of information that you want
to be included in the Search. See Section 11.0, Selection
Criteria Maintenance for more detailed explanation.
8.5 Totals Only?
Question #3 from Figure 8-1. Answering "Yes" to this option
will result in only totals being given (basically how many
records fit the condition laid out in the selection criteria).
8.6 Printed Out?
Question #4 from Figure 8-1. As this would seem to indi-
cate, a "Yes" response would result in the Search result to be
sent to LPT1 (line printer #1).
8.7 Choosing a Logical Order.
Question #5 from Figure 8-1. This is very similar to
choosing a Logical Order for either Inquiry/Entry, or Word
Processing Conversion (see Sections 4.1 and 7.4, Choosing a
Logical Order). The logical order that you choose defines the
order and grouping of information that you seek.
8.8 New Page?
Question #6 from Figure 8-1. If you Choose "Y" to this
option, every time that the logical order chosen in Section 8.7
changes, the printer will issue a Top of Form command, and a new
page will be printed. Again, this will only be displayed if the
output was going to the printer.
26
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
Section 9.0 Housekeeping.
There are several tasks that must be performed that have no
direct bearing on the gathering or manipulating of information;
yet they are critical to the smooth functioning of any infor-
mation-based system. These tasks are contained under the
Housekeeping menu. Figure 9-1 shows the sample Housekeeping
Menu.
_____________________________________________________________
| |
| Test Database System |
| Housekeeping Menu |
| Choose from the following: |
| |
| 1> Data Backup |
| |
| 2> Reindex Data |
| |
| 3> Data Verification |
| |
| 4> Control |
| |
| 5> Delete Blank Records |
| |
| 6> Pack Database |
| |
| <Shift>-# to get help on any of the above |
| Which one do you want (Q to quit) |
|___________________________________________________________|
Figure 9-1 Sample Housekeeping Menu
9.1 Data Backups.
People who do not back up their data are simply not playing
smart. There are countless examples of large amounts of irrep-
laceable data being lost forever simply because the user failed
to take the 10-15 minutes a week it takes to save their informa-
tion.
Computer-stored information is very vulnerable to certain
types of accidents. Someone could accidentally or intentionally
erase the information, or the information could be "damaged" by
a strong fluctuation in power or a total power outage. If this
occurs, the information is lost. It cannot be recovered or
retrieved ever again.
Data backups prevent this from happening to you. By running
this particular process, the information is stored onto another
diskette which can then be removed from the area for safekeeping
(usually you home). It pays, however to have several copies,
some older, some more recent (if it turns out that you have had
27
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
bad data for some time and only now have discovered it).
There are all sorts of arguments concerning backing up of
your data; why's and all of that. Suffice to say that everything
can be lost if you don't.
Enough of that. Now, how do you do it? Simple. When you
select a data backup from the list of housekeeping options
(Figure 9-1, Sample Housekeeping Menu) another menu will appear,
the Backup Menu (see Figure 9-2). There are two options given to
you, Program Backups and Data Backups. What they do is very
different from one another.
_____________________________________________________________
| |
| This screen is for the backing up of your |
| system. It should be done on a routine basis (like |
| weekly at least). |
| |
| There are two types of backups... |
| |
|1> Program Backups (when there have been changes to |
| the system |
| |
|2> Data Backups (when you have made changes to your |
| data. |
| |
|Note that while #2 should be done more often, they |
|should BOTH be done regularly. |
| |
|Enter <Shift>-1 or <Shift>-2 for Help |
| WAIT Which one do you want to do(1/2/Q) TO Begin |
|___________________________________________________________|
Figure 9-2 Backup Menu
Program Backups are done whenever there are changes made to
the programs that run the system. To the user it may appear that
there are few times when this is the case, but there may be more
than meets the eye, depending on the amount of programming that's
going on. If you're not sure, do this around once a month.
Data Backups are done whenever that are changes made to the
information contained within the database itself. This can be a
often as several times a day, or as rarely as one a month. Just
keep in mind that if the system were to go down right now,
whatever you have put into your system since you last did a
backup would have to be re-entered. If you're really comfortable
with that, then you're doing fine...(or not thinking it through)
Whichever of the choices you make, Figure 9-3 shows the message
that the system will display after choosing.
28
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
____________________________________________________________
| |
|Place backup program diskette in drive A |
| and hit return to begin (q to quit) |
|___________________________________________________________|
Figure 9-3 Backup Message
At this time you should place a diskette (on that contains
nothing of value) into drive A, shut the door, and hit return.
The computer will display an appropriate message soon afterward
and return to the Housekeeping Menu.
9.2 Reindex Data.
This option should be the first step in any troubleshooting
operation. If a particular problem has appeared (like, "I put
that data in yesterday and now I can't find it!") your first step
(yes, prior even to calling for help!) should be to do this.
Database information is indexed. That means that there is
an index file (located separately from the main data file), that
points to the location of the information according to a logical
order. That key is dependant on the application (See Section
4.1, Choosing a Logical Order for more detailed explanation). A
reasonable analogy would be the card catalogue file at your local
library. The card is smaller, easier and faster to access and
make use of, and points to the location where the book is
located. If the index file is corrupted, than the link between
the index and the regular file is lost. Reindexing fixes that.
Reindex will take anywhere between 1-30 minutes (depending
upon the size of the database. It should be consistent for your
application). In addition to when there is a problem, you should
run reindex once a week just for the heck of it.
9.3 Data Verification.
Data Verification will list all of the fields that were set
up for Verification during Create (See Appendix C). You may
choose a single field, or all of them. The system will then
match your values currently contained in the database against
those found in the verification database (see Section 12.0,
Verification Edit). It will then generate an exception report,
(after asking you if you want it printed) listing all inaccurate
records. You are then responsible for fixing those records,
preferrably through traditional data entry. Keep in mind that
only certain fields in your database are capable of taking
advantage of this. In our test database (See Figure 4-1)
School_D, for example, can make use of this, since there are only
so many school districts in the city. However, Own_Name cannot
make use of it, since there are no practical limitations to ones
name.
29
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
Verification, however useful it sounds, is not an end-all
solution to data entry problems. At best, it is a sometimes
helpful reminder. But nothing can replace a user who is watch-
ful, careful and above all, knowledgeable.
9.4 Control.
Obviously, there are a lot of little things that the
computer does. Some help us, some don't. Some just annoy the
heck out of us. Control lets the user have some control over
these items. By using the menu, the user has the ability to
change something that he or she doesn't like or need at a
particular point in time.
The Dbase equivalent of this is "SET BELL (example) ON".
There are basically four things that the user has control
over. They are: Confirmation, Deletion, Bell, Exact. Through
the Control Menu (Figure 9-4) the user can change any or all of
them. Their original values are determined by the setup of the
Main database (see Appendix G). These are the values the four
are set to each time the system is accessed. In other words,
once you exit the system, you would have to reenter it and
reapply your control changes.
_____________________________________________________________
| |
| Test Database System Control Menu |
| |
| Choose from the following: |
| |
| 1> Confirm (ON...Return after every field) |
| (OFF..Automatically goes to next) |
| |
| 2> Delete (ON...Deleted records not accessible) |
| (OFF..Deleted records accessible) |
| |
| 3> Bell (ON...the annoying thing rings a lot) |
| (OFF..it won't) |
| |
| 4> Exact (ON...good only on complete spellings) |
| (OFF..it will hit on incomplete spellings)|
| |
| Which one do you want (Q to quit) |
| |
|___________________________________________________________|
Figure 9-4 Control Menu
As you will see once they're explained, the initial values
of the control variables are set to help the beginning user.
30
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
9.4.1 Confirm
Confirm is used to keep the user from entering too many
characters in a field. Let's take the field Own_name, for
instance. It is a character field 20 characters long.
With Confirm set On, if someone would try to enter a 21
character-long name, it would merely emit an audible (beep) when
the person entered the 21st character. A person must hit the
<Enter> key prior to moving onto the next field.
With Confirm set Off, the 21st character would move on to
the next field and in this case, would be the first character in
the O_addr1 field.
9.4.2 Delete
Delete is used to control access to deleted records. As you
will recall from Section 4.8, How to Delete Information, it told
you how to delete a record and how it appears on the screen.
With the Delete option set to On, information that has been
marked for delete will not be accessible. With Delete set for
Off, the information that has been deleted will be accessible
through normal Inquiry/Entry. Obviously, then when the Delete
option is set to Off there is no way to change a record from
deleted to not deleted. However, there are certain instances
when the user would not want deleted information to be accessible
to users, for it would be slightly misleading.
9.4.3 Bell
The author of the AGS (and this document, for that matter)
feel real strongly about the fact that the bell is one of the
most annoying things that Dbase III+ has. However, it is a
good reminder for the new user for various reasons (illegal
date, end of field, etc.). Basically, you're on your own when it
come to this one. If it's on, the system creates an audible
(beep) a lot. If it's Off, it won't. Simple enough, no?
9.4.4 Exact
Exact is a tricky one, and is best left to those who are
used to using the system for awhile. Exact deals with when the
computer looks for a value in a particular field. It comes back
after searching with either a Successful or an Unsuccessful
search. When exact is On, the system will have a successful
search only when the match is perfect, character for character,
no more and no less for that field. When exact is Off, the
system will look for a partial match, allowing for additional
characters. A good example would be if you were looking for a
31
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
Own_name of "Smith", but you weren't sure is it was spelled
"Smythe", "Smith", or "Smyth". You would enter the beginning
letters you were sure of ("Sm", in this case). The system would
then find the first record where the first two characters of
Own_name was "Sm". By taking a "Quit/Next" Option on the
Update/Release Command Line (See Figure 4-7), you would "page"
through these until you found the one you wanted. Simple, huh?
9.5 Delete Blank Records.
One thing that will probably happen when you're just
beginning to get used to entering data is some blank records
getting saved. In order to get rid of them, run this function.
When the application was originally generated, the creator
specifies which fields are to be blank in order for the system
to mark them for delete.
Once this function is run, the user still has to pack the
database to actually remove the data from the file.
9.6 Packing Your Database.
As we've mentioned on more than one occasion, information
is not really so easily deleted. All that happens when someone
marks a record for delete, it just sits there marked. It isn't
until someone runs this option that all records marked for
deletion are actually deleted. When you run this, make sure that
you've deleted only those records you want deleted.
32
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
Section 10.0 Help.
There are three types of help that are readily available.
One is this document. It probably has most of the answers you
seek. But there are also two type of on-line help available
straight from the computer. One is related to getting more
information about the database itself, while the other is to get
help and information concerning the current command line that the
user is contemplating. Both have distinct uses, and both come in
handy (famous last words).
10.1 Database Help.
Option #7 on the Main Menu (see Figure 3-1) is Help. When
you choose this, you will see (similar to Word Processing
Conversion) a list of all database fields on your screen (See
Figure 10-1).
_____________________________________________________________
| |
| Help Selection Screen For Test Database |
| 1>E_DATE 2>ST_NUM |
| 3>ST_NAME 4>PARCEL |
| 5>CEN_TRACT 6>CEN_BLOCK |
| 7>SCHOOL_D 8>UNITS |
| 9>PROP_TYPE 10>OWN_NAME |
| 11>O_ADDR1 12>O_ADDR2 |
| |
| |
| |
| Which one do you want help on (H/Help Q/Quit) |
|___________________________________________________________|
Figure 10-1 Help Menu
To get information on any one field, simply enter the
number. When a valid number is entered (in this case 1-12), the
system will then display information such as that displayed in
Figure 10-2.
_____________________________________________________________
| |
| |
| Field = ST_NUM Type = C |
| Length : 8 |
| Desc 1:Street Number of the Property |
| Desc 2: |
| Hit any key to continue... |
|___________________________________________________________|
Figure 10-2 Sample Database Help Screen
As you can see, there is a fair amount of information
contained there. First of all, there is the field name itself,
33
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
followed by the type of field it is (C, N, L, D; See Figure 4-6),
the length and up to two lines of descriptive text.
10.2 Command Line Help.
On many screens, you see the command requesting your next
input. Usually there is also a statement on how to acquire Help
from this point. This is a different type of help than that
described in Section 10.1. This type of help is designed to
inform you of what the various capabilities and expectations are
at this point in the system. For example, the main menu (See
Figure 3.1) gives you a list of 8 options, plus Q for leaving the
system, and <Shift>-# for Help. In other Cases, such as the
Logical Order Menu (see Figure 4-2), the system gives 1-5, Q and
H as options. In both cases help is available. In the first
case, since 1-8 are so different, a special help screen is
available for each option. Since the Logical Orders are similar
in context, they only need one screen. For example, if you
wanted help on Option #1 (Inquiry/Entry) of the Main Menu, you
would hit <Shift>-1 (which corresponds to an explanation point
'!') to get help. The system would then respond with what you
see in Figure 10-3.
_____________________________________________________________
| |
| This function allows you to see and |
| maintain information in the main file. |
| Hit any key... |
|___________________________________________________________|
Figure 10-3 Sample Command Line Help Screen
Just about every command line (with the exception of when
you are editing a record) has some form of help available. Take
advantage of it.
As mentioned before, on certain monitor types these screens
will not clear when you hit any key.
34
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
Section 11.0 Selection Criteria Maintenance.
11.1 What is a Selection Criteria?
A selection criteria is a condition, or set of conditions,
which can be directly applied to specific fields in your
database. A selection criteria applied to a record can only have
one of two possible outcomes:
Yes, it satisfies the conditions.
No, it does not satisfy the conditions.
The Dbase equivalent of this is "SET FILTER TO <condition>"
There is no such thing as "maybe", "don't know", or "sort
of" as far as a condition goes. A Selection Criteria (stated in
English) can
be as simple as:
All records,
(in which case all records satisfy the condition)
Or:
No records,
(in which case no records satisfy the condition)
Selection Criterias are usually applied when you are
interested in using
information that fits a certain criteria. Back in Section 7.0,
and 8.0 (WP Conversion and Search) we were talking about applying
certain criteria to the database prior to actually running the
task. Well, here is where we do it. By developing a Selection
Criteria. But we have to make sure that the syntax is proper.
The way we state a selection criteria must be follow the rules
and conventions set up for Dbase III+.
11.2 Simple Selection Criterias.
A simple selection criteria is a simple Yes or No condition
that you can
apply against a single field in a database. If you'll recall
back in Section 7.0, WP Conversion, we were interested in sending
a letter to all owners of property whose property was in the
"Wise" school district. For that example, we would make the
selection criteria:
School_D = "Wise"
Relatively Simple, No? The form of the simple selection
criteria is:
35
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
{Field Name} {Operative} {Value}
Now, we've been through the Field Name list (Figure 4-1)
enough times to know what that would be. But what about Opera-
tive?
An operative is the symbol which defines the relationship
between the sides of the selection criteria. (huh?) In other
words, for our example, we wanted the Field_name Equal to
"Wise". Equal to {=}
is our Operative. A list of potential operative and their
descriptions is found in Figure 11-1.
_____________________________________________________________
| |
|Operative Description |
| |
| = {L. Side} Equal to {Right Side} |
| > {L. Side} Greater Than {Right Side} |
| >= {L. Side} Greater Than {Right Side} |
| or Equal to |
| |
| < {L. Side} Less Than {Right Side} |
| <= {L. Side} Less Than {Right Side} |
| or Equal to |
| <> {L. Side} Not Equal to {Right Side} |
| |
|___________________________________________________________|
Figure 11-1 A List of Selection Criteria Operatives
The Value on the right side should be a legitimate value of
the field name on the left of the operative. If not, an error
will occur. Figure 4-6 shows the various legal ways of repre-
senting data. Since we know that School_d is a character type of
Field, we know then that the value must be enclosed by quotation
marks ("). In other words, as we've stated above:
School_D = "Wise"
is a legitimate selection criteria, whereas
School_D = Wise
is not (note the missing quotes).
Figure 11-2 shows a list of good selection criterias for
each data type, relating back to our old test database (Figure
4-1). For your application, simply replace the field name on the
left with your field name, and the value on the right with your
value.
36
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
_____________________________________________________________
| |
| Data Type: Character |
| Own_Name = "Smith" |
| Cen_tract > "1701" |
| Prop_type <> "I" |
| |
| Data Type: Numeric |
| Units = 5 |
| Units < 2 |
| |
| Data Type: Date |
| E_date > CTOD("01/23/87") |
| E_date <> CTOD("12/32/87") |
| |
| Data Type: Logical |
| Del_flg = .T. |
| Del_flg = .F. |
|___________________________________________________________|
Figure 11-2 Some Simple Selection Criterias
You'll notice (if you bothered to look) that there is one
queer one in the group: Dates. Dates isn't a simple conversion
like numerics, logicals or even characters. That's because date
information is stored in a special way called Date Format, and in
order to compare a date field to a value you have to convert your
value to that format. To do this you simply enter the date as a
string (such as "01/23/87" in the first date sample above, and
perform the "Character To Date Conversion" to it, by this:
CTOD(<string>)
You only have to do this here, for selection criterias. The
system does
it everywhere else (ie, data entry Search WP Conversion, Reports,
etc.).
11.3 Complex Selection Criterias.
Complex selection criterias occur when you want the
selection criteria to be more than one relationship possibly
between more than one field. If for example, in our never-ending
example of School District being Wise, we also didn't want to
send anything to commercial properties (let's assume that means
Prop_type <> "C")? If we wanted to do that, we would have to
look at two fields, School_D,
and Prop_type. So we'd have two selection criterias, and they
would both have to be true:
{Selection Criteria #1} AND {Selection Criteria #2}
*******
*(or,)*
37
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
*******
School_D = "Wise" AND Prop_type <> "C"
The basic structure of a complex selection criteria is:
{Selection Criteria #1} {Linking Conditional} {Selection
Criteria #2}
The linking Conditional is used to say "#1 AND #2 have to be
true", or "#1 OR #2 have to be true", etc. You could actually go
on and on with this, linking as many selection criterias as you
like:
{Flt #1}{LC#1}{Flt #2}{LC#2}{Flt #3}{LC#3}{Flt #4}...etc.
Figure 11-3 shows the legal Linking Conditionals and their
definitions. It also shows what is known as a Truth Table.
Basically, a Truth Table gives you on the vertical (or left)
side the conditions (#'s 1 and 2). On the horizontal (top) side
it gives you the two possible outcomes ([T]rue and [F]alse). By
cross-referencing them, the result is the complex combination of
them. The right-most column (R) shows the result of the combina-
tion.
38
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
_____________________________________________________________
| |
| AND |
| _____|___T_____|____F____|____R____| |
| | | | | | |
| |#1 | T | T | T | |
| -------------------------|---------| |
| |#2 | T | F | F | |
| |____|_________|_________|_________| |
| | | | | | |
| |#1 | F | T | F | |
| -------------------------|---------| |
| |#2 | F | F | F | |
| |____|_________|_________|_________| |
| |
| OR |
| _____|___T_____|____F____|____R____| |
| | | | | | |
| |#1 | T | T | T | |
| -------------------------|---------| |
| |#2 | T | F | T | |
| |____|_________|_________|_________| |
| | | | | | |
| |#1 | F | T | T | |
| -------------------------|---------| |
| |#2 | F | F | F | |
| |____|_________|_________|_________| |
| |
| |
| |
| NOT |
| _____|___T_____|____F____|____R____| |
| | | | | | |
| |#1 | T | T | F | |
| -------------------------|---------| |
| |#2 | T | F | T | |
| |____|_________|_________|_________| |
| | | | | | |
| |#1 | F | T | F | |
| -------------------------|---------| |
| |#2 | F | F | F | |
| |____|_________|_________|_________| |
| |
|___________________________________________________________|
Figure 11-3 A List of Linking Conditionals
11.4 Maintaining a Selection Criteria Library.
As you can see, selection criterias can become as complex as
the questions they represent. And we can't expect every user to
become an expert in the use of them. In order to still allow the
user flexibility, the system allows use of a library of selection
39
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
criterias, which users can add and change at will. By choosing
Option #8 from the Main Menu (see Figure 3-1), you can maintain
the selection criterias that are kept on file. Figure 11-4 shows
the Selection Criteria Maintenance Menu.
The Selection Criteria Library is set up to allow users to
access selection criterias by a number, which corresponds to the
record # that the selection criteria is located in the selection
criteria database file.
_____________________________________________________________
| |
| This is the Selection Criteria Maintenance Module |
| Do you want to: |
| |
| 1> Display all Selection Criterias |
| 2> Modify a Specific Selection Criteria |
| 3> Add a New Selection Criteria |
| 4> Test+Produce a Selection Criteria Report(on printer |
| |
| Which one do you want (<Shift>-#/Help,Q/Quit)? |
|___________________________________________________________|
Figure 11-4 Selection Criteria Maintenance Menu
In regards to the four options listed, they perform the
following functions:
1> Display all Selection Criterias. This option will list
onto the screen all of the Selection Criterias currently on file,
in the order that they were entered.
2> Modify a Specific Selection Criteria. This option
allows a user to
go and change (permanently) a particular selection criteria.
3> Add a New Selection Criteria. This option allows a
user to add a selection criteria not previously available on the
system.
4> Test + Produce a Selection Criteria Report. This
option will go through all selection criterias and test them for
accuracy and proper syntax.
It will also produce a report describing all correct and
incorrect selection criterias.
Notice that the selection criteria numbers are contained on
the report, and you may want to consider distributing the report
to users or to post the report near the unit, so as to allow them
to look at the list when choosing their selection criterias.
11.5 Choosing a Selection Criteria.
40
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
There are 3 different ways of choosing a Selection Criteria.
You can enter one manually, use the Library, or use the Selection
Criteria Guide. Figure 11-5 shows the menu from which you can
choose.
Enter a Manual Selection Criteria
Access The Selection Criteria Library
Use the Selection Criteria Guide
Use Current Selection Criteria
Help
Quit this program
Use the arrow keys to highlight your choice
And hit <Enter>
Current Selection Criteria:
Figure 11-5 Choosing Selection Criteria Method
Now you should notice that the method of selection here is
different from other areas in the AGS. Instead of entering a
number or letter, you use the arrow keys on your keyboard to
highlight your selection, and press <Enter>. The selection
criteria area is the only area currently supporting this
capability.
NOTE: DO NOT hit any key prior to the highlighted area
showing on your screen, as it will have strange effects on your
system later.
Now, let's look at each of the methods of entering a
Selection Criteria.
11.51 Enter a Manual Selection Criteria.
This is technically the easiest, but also for the user the
most difficult. By selecting this option, the system will
display a screen as shown in Figure 11-6. This will allow you
_____________________________________________________________
| |
| Enter the selection criteria you're looking for |
| (H/Help, Q/Quit, =,>, etc.) |
| ? |
| ? |
| Is this the Selection Criteria that you want |
|___________________________________________________________|
Figure 11-6 Selection Criteria Entry Screen
to enter up to two lines of Selection Criteria information. The
41
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
syntax is identical to what Dbase III+ would expect in a line
such as:
DISPLAY FOR *****
and you would enter what you would put instead of *****. After
you've entered your selection criteria, the system will test it
for validity. If you want to leave this screen, enter simply a
"Q" (no quotes). A blank selection criteria will assume all
records.
11.52 Access the Selection Criteria Library.
Assuming that the Selection Criteria Library is properly set
up, each selection criteria will have a number associated with
it(as stated above). There are three areas where selection
criterias come in handy. They are:
A> Search.
B> Word Processing Conversion.
C> Inquiry/Maintenance (w/Browse Logical Order Option).
Each of these use the selection criteria is a slightly
different way, but the results are the same. Let's take our
wondrous example of the school district open house letter.
Assuming that our Selection Criteria Library looked something
like Figure 11-7, which selection criteria would we want?
_____________________________________________________________
| |
| # Selection Criteria Use |
| |
| 1 Prop_type = "R" for Residential |
| Properties |
| 2 Units > 1 for multiple unit |
| Housing |
| 3 School_D = "Wise" for the Wise School |
| District |
| 4 Del_flg = .F. for non-deleted |
| records |
|___________________________________________________________|
Figure 11-7 Sample Selection Criteria Library
#3, of course. The others have useful meanings as well, but
it's #3 that suits our purposes now. When the system asks for
the selection criteria #, we would enter "3"
In this case, the system will see that the first character
is an exclamation point (!). The system will expect a number
after that, and will use that number to find the selection
criteria. The selection criteria will then be displayed on the
screen, and the user will verify and move on.
42
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
In the case that an incorrect selection criteria, or
selection criteria number is entered here, the system will
display and error message. A selection criteria must be correct
in order for the system to proceed to the next step.
11.53 Use the Selection Criteria Guide.
The third and easiest method is to use the Selection
Criteria Guide. This will run in five steps. Each step you must
again point at your target using the arrow keys and hit <Enter>
to choose the answer you've highlighted. These steps are:
1> Select the variable you want and hit <Enter>.
Ex: "School_d"
2> Select the measurement (=,>,etc.) and hit <Enter>.
Ex: "="
3> Select the variable you want to measure against.
Here you may also enter your own value.
Ex: "Wise"
4> Select Linking another condition, Enter Y or N.
5> If you selected "Y", you will then be asked to link
the previous condition with the choices listed in
Figure 11-8:
Which of the following Boolean Conditions
Do you want to specify:
Condition #1 AND Condition #2
Condition #1 OR Condition #2
Condition #1 AND NOT Condition #2
Forget it, I changed my Mind
Figure 11-8 Boolean Conditions
11.6 Selection Criteria Syntax.
There is of course a particular syntax that is needed in
order to successfully create a selection criteria. We have shown
how to specify a simple condition (Section 11.2, Simple Selection
Criterias). But we have also shown how to link conditions
together, forming complex selection criterias (Section 11.3,
Complex Selection Criterias). The syntax of a linking
conditional is actually very straightforward:
{Selection Criteria #1} .{LC}. {Selection Criteria #2}
^ ^
| |
-------------Notice the periods? (.)
43
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
Simply put a period (.) on each side of the linking condi-
tional. Using or example from Section 11.3, the full syntax
would be:
School_D = "Wise" .AND. Prop_type <> "C"
But if we have several selection criterias to link, and we
need them grouped, we would then use parenthesis "(" to group
them. Let's say we wanted both the "Wise" and the "Gai" school
district to get the letter.
(School_D = "Gai" .OR. School_D = "Wise") .AND. Prop_type <> "C"
^ ^
| |
| The system will first evaluate | ^
| the condition within the paren- | |
| thesis, and then evaluate the | |
| remaining selection criterias. | |
---------------------------------------------------
Just think back to your old Algebra days and you'll do just
fine.
44
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
Section 12.0 Verification Edit.
When the system is initially Created, certain fields were
set up as verifiable. That is to say there was a limit placed
onto them as to the acceptable values allowed for that field.
This is where you would specify those limits.
Three types of fields can be verifiable; Numeric, Date and
Character. Logicals cannot (why should they be?) be.
When you initially call up Verification Edit, the system
will list for you the fields currently defined as verifiable.
You would then choose the field you want to work on from this
list.
12.1 Verifying Numerics.
If the field is numeric, the system will request a "Lowest
Legal Value" and a "Highest Legal Value". Any field that is :
"Lowest Legal Value" < Field Value < "Highest Legal Value"
is ok. Any other is not.
12.2 Verifying Dates.
If the field is a Date, the system will request a "Oldest
Legal Date" and a "Most Recent Legal Date". Any field that is :
"Oldest Legal Date" < Field Value < "Most Recent Legal Date"
is ok. Any other is not.
12.3 Verifying Characters.
If the field is a Character, the system will show you a
submenu (Figure 12-1), asking if you want to display all legal
values, modify a specific one, add one or print a hardcopy
report.
Do you want to:
1> Display all Legal Values
2> Modify a Specific Legal Value
3> Add a new Value
4> Produce a Verification Report (on printer)
5>Change how Blanks are Accepted
Which one do you want (<Shift>-#/Help,Q/Quit)?
Figure 12-1 Verification Edit Menu
45
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
When you run Verify, the system checks to see if the field's
value is on this list. If it's on the list, it's ok. Any other
is not.
The Options perform as follows:
1> Will list (on screen) the list of all Legal Values for
that field.
2> Will ask for a value from you. If that value exist,
the system will allow you to modify or delete it from the list.
3> Will allow you to add a new value (NOTE: System will
NOT check for duplication.)
4> The system will produce a report, optionally to a
printer.
5> Will allow you to change whether an empty (blank) field
will show up as an error or not for that field.
Note that Verification do a Caseless search. In other words,
if you have a value of "ABC" in Verify, and a record has "abc",
there would be no error. However, the values "abcd" and " abc"
would both be considered errors.
46
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
Section 13.0 Registration Info.
Of course, having a system that does 80% of what you want is
nice. Having it do more is better. That's what you get with a
fully-registered version! Not only do you get unlimited record
capability (well, up to Dbase's limits, anyway), you get
additional documentation which tells you how to use AGS to:
>Link Databases (ie, customer database vs. order database)
>Use print codes!
>Import Data from other systems
>Customizing your d/e
>make verification during initial data entry
etc, etc...
So REGISTER!!
The AGS has already been used in several places, and for
many functions. They include:
Inventory Order Entry Management
Personnel Housing Title Transfers
Housing Financial Analysis Mailing List Maintenance
Travel Agent Customer Maintenance Union skills tracking
Computer Maintenance Simple A/R
Remote Data Entry Account Tracking
Get the idea?
As you can hopefully see, there really is no limit to the
type of application here. The version you have here has a limit
of 50 records for each database placed on it. By registering you
version, you would be given an unlimited use version. In some
cases, however, there are some changes which would make the
system run even smoother. But in order to make those changes,
you have to have a special registered system, which is delivered
with full Dbase code intact! (Shareware distributed version
contains executable only...)
But how do I register? (I hear you cry) Simple. Send
money (to support the Shareware concept) to:
RL Coppedge, CDP CIS #: 72117,165
446 Richmond Pk E 402A Genie: R.COPPEDGE1
Richmond Hts, Ohio Cleve Free-Net: AE069
44143
How much should you send? I leave that up to a debate between
you, your wallet and your conscience. (C'mon, Conscience!!)
47
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
A general suggestion:
single users: Companies, Consultants, etc.
Executable: $50 $100
W/Code: $100 $250
Code version also includes some technical documentation
explaining what it is you see.
Several changes have been made since V2.0. Obviously, the more
support of this type, the more likely it is that I would continue
to improve this system along the shareware school of thought.
There are a lot of improvement currently in the test version
2.2... (see the file AGS210.TXT)
Later!!! Bob
48
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
Section 14.0 Additional Notes and Capabilities.
At this point in time you have reviewed all system capabil-
ities. The system is built for non-technical people to use;
however, familiarity with Dbase III+ would aid dramatically in
really getting your money's worth. This system can be easily
modified to fit and adapt to a particular users needs.
There are a few other things worth commenting about.
14.1 Security
There ain't no such beast. Generally speaking, there is no
easy way of making your data more secure than the area in which
it is contained. In other words, if your unit is going to be out
in the open with no one watching it, so is your data. My
standard response to the immortal question "How secure is my
data?" is that it's equally secure as the file cabinet next to
it.
14.2 Training
If you don't train people, either they will not use the
system, or they will use it improperly. Even the friendliest
system (I hate the term "user-friendly") needs some type of
guidance in how to use it from a procedural standpoint, if for
no other reason.
One of the biggest problems with implementing computer
systems onto people with little or no computer experience is that
there is often little or no regard paid to making sure that the
transition is made. Often time people will resist taking
advantage of the computer unless they are encouraged by their
supervisor.
14.3 Justification
Automating a manual process is the easiest way to com-
puterize. Unfortunately, it is also the least efficient and the
most likely to fail. When you are computerizing a process, you
should begin by reviewing all steps to that process, look into
the possibilities of streamlining the operations somehow so that
there would be a more efficient method of processing the informa-
tion. Often that step alone would save more money than simple
computerization.
49
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
Section 15.0 Suggested Ways of Learning More.
If you have successfully completed mastering this system,
you should feel free to go on, and master Dbase III+ itself.
There are many seminars, books, tutorials, even video tape
classes created specifically for this product. The AGS in some
ways scratches the surface of the truly complex Dbase III+
system.
Take advantage of whatever products you have available, and
enjoy!
50
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
Section 16.0 Thanks and Acknowledgements
Of course, there are several people who made contributions
to this package. Amongst them are:
Ashton-Tate, for making Dbase in the first place. Without
that package, this package is nothing with a capitol N.
The Compuserve Ashton Tate SIG, for being easier than
looking it up.
The Compuserve Micropro SIG
Ed Zollars (making sense of WordStar and my ignorance)
For their technical help (and speed)
Robert A. Byers, Jeb Long, C. Wayne Ratliff, authors of
Dbase Programmer's Utilities for the MenuBar utility.
Whoever wrote the original Dbwind file.
Randy Ayers and Mark Webster for playing with this and not
making TOO many wisecracks when it went <poof!>
My wife Helen for putting up with this nonsense.
And finally, to the "Poor Man's Database System", the
predecessor to the AGS. Too bad CP/M never really caught on in
the end... (just kiddin')
51
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
Appendix A: System Flowchart
This is a technical flowchart that points out the programs
and their relationship to one another. Although this is of minor
interest and need to the user, someone with a more technical
interest may find it helpful. This was produced through use of
the package Dflow (from WallSoft Systems, Inc.), a neat documen-
tation generator package for Dbase III+.
52
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
Appendix B: Technical Documentation
This area describes the program files that go into running
the AGS. This is available in the registered version with
Source.
53
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
Appendix C: Create!
This documentation covers the use of Creating a particular
application. For ARC-hieved files, this is AGSAPPC.TXT
54
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.
Appendix D: Index
Here's what is probably an incomplete index. (you get this
with source). This also includes a memory variable map. This
could help explain certain "anomalies" (we no longer have bugs,
folks; this is 1988!)
55
Copyright 1988 - RL Coppedge, CDP All Rights Reserved.